import { ref } from 'vue'
import { fetchAllGoods } from '../axioser'

export function useGoods() {
  // 商品基础配置
  const goodOptions = {
    //商品编码
    gid: '',
    // 商品名称
    name: '',
    // 商品详情
    deatils: '',
    // 品牌
    brand: [],
    // 分类、
    sort: 0,
    // 标签
    tag: [],
    // 商品滚动图片（第一张为商品首图）
    banner_img: [],
    // 商品详情图片
    details_img: [],
    // 量纲
    dimension: '个',
    // 价格
    price: {
      // 原价
      originalPrice: 0,
      // 现价
      presentPrice: 0,
      // 原积分
      originalPoints: 0,
      // 现积分
      presentPoints: 0,
    },
    // 点击数
    dots: 0,
    // 分享数
    share: 0,
    // 库存设置
    stockOptions: {
      // 库存数
      stock: 0,
      // 库存预警（0为关闭预警）,受showStock影响
      stockWarn: 0,
      // 否显示库存
      showStock: 0,
    },
    // 运输（设置是自提还是免运费）
    transport: 0,
    // 销量
    sales: 0,
    // 状态（上架，还是未上架）
    state: 0,
    // 评论数
    commentCount: 0,
    // 热度（影响展示页排序）
    hot: 0,
    // 供应商（暂定）
    supplier: {},
    // 创建时间（秒->时间戳）
    create: 0,
    // 最后更新时间（秒->时间戳）
    edit: 0,
    // 是否为积分商品（积分商品只能使用积分购买）
    isPointsGoods: 0,
  }
  // 当前商品列表
  const currentGoodList = ref({
    list: [],
    currentIndex: 1,
    pageSize: 10,
    total: 0,
    over: false,
  })

  // 当前选中商品列表
  const currentGoodsSelected = ref([])

  // 获取商品列表
  const getAllGoods = async (keyword = '', page = 1, _result = 10) => {
    try {
      const {
        data: {
          data: { total, currentIndex, list },
        },
      } = await fetchAllGoods({ keyword, page, _result })
      currentGoodList.value.total = total
      currentGoodList.value.list = list
      currentGoodList.value.currentIndex = currentIndex
    } catch (error) {
      console.error(error)
    }
  }

  return {
    goodOptions,
    getAllGoods,
    currentGoodList,
  }
}
